#pragma once
#ifndef MATH_INFINITE_H_7DE_6_B_INCLUDED
#define MATH_INFINITE_H_7DE_6_B_INCLUDED
#ifdef __cplusplus
const class{
public:
template<typename T>
bool operator==(T&& type)const{
return false;
}
template<typename T>
bool operator!=(T&& type)const{
return true;
}
template<typename T>
bool operator<(T&& type)const{
return false;
}
template<typename T>
bool operator<=(T&& type)const{
return false;
}
template<typename T>
bool operator>(T&& type)const{
return true;
}
template<typename T>
bool operator>=(T&& type)const{
return true;
}
}infinite = {};
using infinite_t = decltype(infinite);
template<typename T>
bool operator==(T type, const infinite_t& i){
return false;
}
template<typename T>
bool operator!=(T type, const infinite_t& i){
return true;
}
template<typename T>
bool operator<(T type, const infinite_t& i){
return true;
}
template<typename T>
bool operator<=(T type, const infinite_t& i){
return true;
}
template<typename T>
bool operator>(T type, const infinite_t& i){
return false;
}
template<typename T>
bool operator>=(T type, const infinite_t& i){
return false;
}
#else
#include<float.h>
#define infinite DBL_MAX
#endif
#endif